<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Chapter 1. Boost.TypeTraits</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeTraits">
<link rel="next" href="boost_typetraits/intro.html" title="Introduction">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav"><a accesskey="n" href="boost_typetraits/intro.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
<div class="chapter">
<div class="titlepage"><div>
<div><h2 class="title">
<a name="boost_typetraits"></a>Chapter 1. Boost.TypeTraits</h2></div>
<div><div class="author"><h3 class="author">
<span class="firstname">various</span> <span class="surname">authors</span>
</h3></div></div>
<div><p class="copyright">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams,
      Frederic Bron, Steve Cleary, Beman Dawes, Glen Fernandes, Aleksey Gurtovoy,
      Howard Hinnant, Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander
      Nasonov, Thorsten Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert
      Stewart and Steven Watanabe</p></div>
<div><div class="legalnotice">
<a name="boost_typetraits.legal"></a><p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></div>
</div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl class="toc">
<dt><span class="section"><a href="boost_typetraits/intro.html">Introduction</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/background.html">Background and Tutorial</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/category.html">Type Traits by Category</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="boost_typetraits/category/value_traits.html">Type Traits that
      Describe the Properties of a Type</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="boost_typetraits/category/value_traits/primary.html">Categorizing
        a Type</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/category/value_traits/properties.html">General
        Type Properties</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/category/value_traits/relate.html">Relationships
        Between Two Types</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/category/value_traits/operators.html">Operator
        Type Traits</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="boost_typetraits/category/transform.html">Type Traits that
      Transform One Type to Another</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/category/alignment.html">Synthesizing Types
      with Specific Alignments</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/category/function.html">Decomposing Function
      Types</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="boost_typetraits/user_defined.html">User Defined Specializations</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/intrinsics.html">Support for Compiler Intrinsics</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/mpl.html">MPL Interoperability</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/examples.html">Examples</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="boost_typetraits/examples/copy.html">An Optimized Version
      of std::copy</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/examples/fill.html">An Optimised Version
      of std::fill</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/examples/destruct.html">An Example that Omits
      Destructor Calls For Types with Trivial Destructors</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/examples/iter.html">An improved Version of
      std::iter_swap</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/examples/to_double.html">Convert Numeric
      Types and Enums to double</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/examples/improved_min.html">Improving std::min
      with common_type</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="boost_typetraits/reference.html">Alphabetical Reference</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="boost_typetraits/reference/add_const.html">add_const</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/add_cv.html">add_cv</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/add_lvalue_reference.html">add_lvalue_reference</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/add_pointer.html">add_pointer</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/add_reference.html">add_reference</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/add_rvalue_reference.html">add_rvalue_reference</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/add_volatile.html">add_volatile</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/aligned_storage.html">aligned_storage</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/alignment_of.html">alignment_of</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/conditional.html">conditional</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/conjunction.html">conjunction</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/common_type.html">common_type</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/copy_cv.html">copy_cv</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/copy_cv_ref.html">copy_cv_ref</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/copy_reference.html">copy_reference_</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/decay.html">decay</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/declval.html">declval</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/detected.html">detected</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/detected_or.html">detected_or</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/disjunction.html">disjunction</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/enable_if.html">enable_if_</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/extent.html">extent</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/floating_point_promotion.html">floating_point_promotion</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/function_traits.html">function_traits</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_bit_and.html">has_bit_and</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_bit_and_assign.html">has_bit_and_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_bit_or.html">has_bit_or</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_bit_or_assign.html">has_bit_or_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_bit_xor.html">has_bit_xor</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_bit_xor_assign.html">has_bit_xor_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_complement.html">has_complement</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_dereference.html">has_dereference</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_divides.html">has_divides</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_divides_assign.html">has_divides_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_equal_to.html">has_equal_to</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_greater.html">has_greater</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_greater_equal.html">has_greater_equal</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_left_shift.html">has_left_shift</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_left_shift_assign.html">has_left_shift_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_less.html">has_less</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_less_equal.html">has_less_equal</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_logical_and.html">has_logical_and</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_logical_not.html">has_logical_not</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_logical_or.html">has_logical_or</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_minus.html">has_minus</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_minus_assign.html">has_minus_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_modulus.html">has_modulus</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_modulus_assign.html">has_modulus_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_multiplies.html">has_multiplies</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_multiplies_assign.html">has_multiplies_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_negate.html">has_negate</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_new_operator.html">has_new_operator</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_not_equal_to.html">has_not_equal_to</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_assign.html">has_nothrow_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_constructor.html">has_nothrow_constructor</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_copy.html">has_nothrow_copy</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_destruct.html">has_nothrow_destructor</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_cp_cons.html">has_nothrow_copy_constructor</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_no_throw_def_cons.html">has_nothrow_default_constructor</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_plus.html">has_plus</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_plus_assign.html">has_plus_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_post_decrement.html">has_post_decrement</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_post_increment.html">has_post_increment</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_pre_decrement.html">has_pre_decrement</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_pre_increment.html">has_pre_increment</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_right_shift.html">has_right_shift</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_right_shift_assign.html">has_right_shift_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_assign.html">has_trivial_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_constructor.html">has_trivial_constructor</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_copy.html">has_trivial_copy</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_cp_cons.html">has_trivial_copy_constructor</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_def_cons.html">has_trivial_default_constructor</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_destructor.html">has_trivial_destructor</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_move_assign.html">has_trivial_move_assign</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_trivial_move_constructor.html">has_trivial_move_constructor</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_unary_minus.html">has_unary_minus</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_unary_plus.html">has_unary_plus</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/has_virtual_destructor.html">has_virtual_destructor</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/integral_constant.html">integral_constant</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/integral_promotion.html">integral_promotion</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_abstract.html">is_abstract</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_arithmetic.html">is_arithmetic</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_array.html">is_array</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_assignable.html">is_assignable</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_base_of.html">is_base_of</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_bounded_array.html">is_bounded_array</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_class.html">is_class</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_complete.html">is_complete</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_complex.html">is_complex</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_compound.html">is_compound</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_const.html">is_const</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_constructible.html">is_constructible</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_convertible.html">is_convertible</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_copy_assignable.html">is_copy_assignable</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_copy_constructible.html">is_copy_constructible</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_default_constructible.html">is_default_constructible</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_destructible.html">is_destructible</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_detected.html">is_detected</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_detected_convertible.html">is_detected_convertible</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_detected_exact.html">is_detected_exact</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_empty.html">is_empty</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_enum.html">is_enum</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_final.html">is_final</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_floating_point.html">is_floating_point</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_function.html">is_function</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_fundamental.html">is_fundamental</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_integral.html">is_integral</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_list_constructible.html">is_list_constructible</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_lvalue_reference.html">is_lvalue_reference</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_member_function_pointer.html">is_member_function_pointer</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_member_object_pointer.html">is_member_object_pointer</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_member_pointer.html">is_member_pointer</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_nothrow_move_assignable.html">is_nothrow_move_assignable</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_nothrow_move_constructible.html">is_nothrow_move_constructible</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_nothrow_swappable.html">is_nothrow_swappable</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_object.html">is_object</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_pod.html">is_pod</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_pointer.html">is_pointer</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_polymorphic.html">is_polymorphic</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_reference.html">is_reference</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_rvalue_reference.html">is_rvalue_reference</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_same.html">is_same</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_scalar.html">is_scalar</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_scoped_enum.html">is_scoped_enum</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_signed.html">is_signed</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_stateless.html">is_stateless</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_trivially_copyable.html">is_trivially_copyable</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_unbounded_array.html">is_unbounded_array</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_union.html">is_union</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_unscoped_enum.html">is_unscoped_enum</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_unsigned.html">is_unsigned</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_virtual_base_of.html">is_virtual_base_of</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_void.html">is_void</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/is_volatile.html">is_volatile</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/make_signed.html">make_signed</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/make_unsigned.html">make_unsigned</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/make_void.html">make_void</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/negation.html">negation</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/nonesuch.html">nonesuch</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/promote.html">promote</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/rank.html">rank</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/remove_all_extents.html">remove_all_extents</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/remove_const.html">remove_const</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/remove_cv.html">remove_cv</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/remove_cv_ref.html">remove_cv_ref</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/remove_extent.html">remove_extent</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/remove_pointer.html">remove_pointer</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/remove_reference.html">remove_reference</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/remove_volatile.html">remove_volatile</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/type_identity.html">type_identity</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/reference/type_with_alignment.html">type_with_alignment</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="boost_typetraits/history.html">History</a></span></dt>
<dt><span class="section"><a href="boost_typetraits/credits.html">Credits</a></span></dt>
<dt><span class="section"><a href="index/s11.html">Class Index</a></span></dt>
<dt><span class="section"><a href="index/s12.html">Typedef Index</a></span></dt>
<dt><span class="section"><a href="index/s13.html">Macro Index</a></span></dt>
<dt><span class="section"><a href="index/s14.html">Index</a></span></dt>
</dl>
</div>
<p>
    A printer-friendly <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">PDF
    version of this manual is also available</a>.
  </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
<div class="spirit-nav"><a accesskey="n" href="boost_typetraits/intro.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
</body>
</html>
